<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>layui</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <link rel="stylesheet" href="/lib/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="/css/public.css" media="all">
</head>
<body>
<div class="layuimini-container">
    <div class="layuimini-main">
        <script type="text/html" id="toolbarDemo">
            <div class="layui-btn-container">
                <button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn" lay-event="add"> 添加</button>
                <button class="layui-btn layui-btn-sm layui-btn-danger data-delete-btn" lay-event="delete"> 删除</button>
            </div>
        </script>

        <table class="layui-hide" id="currentTableId" lay-filter="currentTableFilter"></table>

        <script type="text/html" id="currentTableBar">
            <a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="edit">编辑</a>
        </script>

    </div>
</div>
<script src="/lib/layui/layui.js" charset="utf-8"></script>
<script>
    layui.use(['form', 'table'], function () {
        var $ = layui.jquery,
            form = layui.form,
            table = layui.table;

        $.ajax({
            url: "http://192.168.100.222:8082/user/checking.do",
            type: "post",
            dataType: "json",
            success: function (rec) {
                if (rec.code !== 0) {
                    layer.msg("非管理员无权访问查询页面,请联系管理员", {icon: 5, time: 1500}, function () {
                        window.location.href = "/html/welcome.html?t=1";
                    })
                } else {
                    init();
                }
            }
        });

        function init() {
            let roleTable = table.render({
                elem: '#currentTableId',
                url: 'http://192.168.100.222:8082/dictionary/findAllDictionary.do',
                toolbar: '#toolbarDemo',
                defaultToolbar: ['filter', 'exports', 'print', {
                    title: '提示',
                    layEvent: 'LAYTABLE_TIPS',
                    icon: 'layui-icon-tips'
                }],
                cols: [[
                    {type: "checkbox"},
                    {field: 'id', title: 'ID', sort: true},
                    {field: 'typeName', title: '类型'},
                    {field: 'valueName', title: '名称', sort: true},
                    {field: 'typeCode', title: '编码'},
                    {field: 'valueId', title: '数据值', sort: true},
                    {title: '操作', toolbar: '#currentTableBar', align: "center"}
                ]],
                limits: [5, 10, 15, 20, 25, 50, 100],
                limit: 5,
                page: true,
                skin: 'line'
            });

            /**
             * toolbar监听事件
             */
            table.on('toolbar(currentTableFilter)', function (obj) {
                if (obj.event === 'add') {  // 监听添加操作
                    var index = layer.open({
                        title: '添加角色',
                        type: 2,
                        skin: 'demo-class',
                        shade: 0.2,
                        maxmin: true,
                        shadeClose: true,
                        area: ['600px', '800px'],
                        content: '/html/dictionary/addDictionary.html',
                        end: function () {
                            roleTable.reload();
                        }
                    });
                    $(window).on("resize", function () {
                        layer.full(index);
                    });
                } else if (obj.event === 'delete') {  // 监听删除操作
                    var checkStatus = table.checkStatus('currentTableId')
                        , data = checkStatus.data;
                    let ids = [];
                    for (let x of data) {
                        ids.push(x.id)
                    }
                    console.log(ids);
                    layer.confirm("确定删除该字典吗?", {icon: 3}, function () {
                        $.ajax({
                            url: 'http://192.168.100.222:8082/dictionary/removeDict.do',
                            type: "post",
                            data: {ids: ids},
                            traditional: true,
                            dataType: "json",
                            success: function (rec) {
                                if (rec.code === 0) {
                                    layer.msg("删除成功", {icon: 6, time: 1400}, function () {
                                        roleTable.reload();
                                    })
                                } else {
                                    layer.msg(rec.msg, {icon: 5})
                                }
                            }
                        })
                    })
                }
            });

            //监听表格复选框选择
            table.on('checkbox(currentTableFilter)', function (obj) {
                console.log("===============" + obj)
            });

            table.on('tool(currentTableFilter)', function (obj) {
                var data = obj.data;
                if (obj.event === 'edit') {

                    var index = layer.open({
                        title: '编辑用户',
                        type: 2,
                        shade: 0.2,
                        maxmin: true,
                        shadeClose: true,
                        area: ['600px', '800px'],
                        content: '/html/dictionary/updateDictionary.html',
                        success: function (layero, index) {
                            var iframe = window['layui-layer-iframe' + index];//拿到iframe元素
                            iframe.child(data)//向此iframe层方法 传递参数
                        },
                        end: function () {
                            roleTable.reload();
                        }
                    });
                    $(window).on("resize", function () {
                        layer.full(index);
                    });
                    return false;
                }
            });
        }
    });
</script>

</body>
</html>